package com.doit.day03

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author:
 * @WX: 17710299606
 * @Tips: 学大数据 ,到多易教育
 * @DOC: https://blog.csdn.net/qq_37933018?spm=1000.2115.3001.5343
 * @Description:
 */
object Demo03NumberP03 {
  def main(args: Array[String]): Unit = {

    val conf = new SparkConf()
      .setMaster("local[*]")
      .setAppName(this.getClass.getSimpleName)
    val sc = SparkContext.getOrCreate(conf)

    val rdd1 = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8), 2)
    val rdd2 = sc.parallelize(List(1, 2, 3, 4, 8), 3)

    //new  MapPartitionsRDD(rdd1)
    val rdd: RDD[Int] = rdd1.map(_ * 10)
    //rdd1.filter()
    // rdd1.flatMap()

    val res = rdd1.zip(rdd1).join(rdd2.zip(rdd2))
    println(res.getNumPartitions)


    rdd1.zip(rdd1).reduceByKey(_+_)

 /*   val res1 = rdd1.union(rdd2)
    println(res1.getNumPartitions)
    // 取大的分区数
    val res2 = rdd2.intersection(rdd1)
    println(res2.getNumPartitions)*/



  }

}
